// 专门写接口回调函数的文件
const { main,chapter,chapterContent,reqSearchContent,reqType } = require('../Crawler/index.js')
var FormData = require('form-data');



// 将爬取的小说首页放回给客户端
 module.exports.reqHome=async (req,res)=>{
 let result=await main()
  res.send({
    data:result
  })
 }

 module.exports.reqChapter=async (req,res)=>{
  // 如果前端请求Get请求时，请求体params有数据的话，后端就是req.query接收
  // 如果前端请求POST请求时，请求体data有数据的话，后端就是req.body接收
   // 如果前端请求Get请求时，url路径中有动态的参数的话（如  '/api/user/:id'），后端就可以通过req.params接收到
  // console.log(req.query);
  let result=await chapter(req.query.url)
  res.send({
    data:result
  })
 }

//  请求小说内容的逻辑
 module.exports.reqchapterContent=async (req,res)=>{
  // params通过路由接收路由设置的动态参数  /content/:id就是接收id的
  // console.log(req.params);
    try {

     let result=await chapterContent({
        id:req.params.id,
        url:req.params.url
      })
      res.send({
        data:result
      })
    } catch (error) {
        console.log(error);
    }
 }


//  请求搜索的结果
 module.exports.reqSearch=async (req,res)=>{
  // 将前端传递进来的数据进行转换，转换成formdata数据类型
      let data=new FormData()
      // // 给data添加数据
      data.append('key',req.body.key)
   let result=await reqSearchContent(data)
    res.send({
      data:result
    })
 }


 module.exports.reqNavigationType=async (req,res)=>{
  let  name=req.query.name
    let result=await reqType({name:name})
    res.send({
      data:result
    })
 }